#ifndef CLOADSTATE_H_
#define CLOADSTATE_H_

#include "IGameState.h"

#include <string>
#include <vector>
#include <fstream>
#include <stdio.h>
using namespace std;

#include "CBase.h"
#include "CPlayer.h"
#include "CSaveState.h"

#include "SGD Wrappers/CSGD_TextureManager.h"
#include "SGD Wrappers/CSGD_DirectInput.h"
#include "SGD Wrappers/CSGD_Direct3D.h"


class CLoadState : public IGameState
{
private:
	vector<Profile> profileList;
	Profile currentProfile;

	 short menuIndex;
	 int menuCursor;

	CLoadState();
	~CLoadState();
	CLoadState(const CLoadState& copy) {}
	CLoadState& operator=(const CLoadState& assign) {}
	
	void LoadProfiles();
	void SaveProfiles();
	void DeleteProfile(int index);
public:

	static CLoadState* GetInstance();

	Profile* GetProfile() { return &currentProfile; }

	void Enter(void);
	bool Input(void);
	void Update(float fElapsedTime);
	void Render(void);
	void Exit(void);
};

#endif